#include <libge/libge.h>

typedef struct GeUI_mainWindow_t {
	ge_GuiWindow* mainWindow;
	ge_GuiProgressBar* progressBar;
	ge_GuiButton* button;
	ge_GuiButton* button_1;
	ge_GuiButton* button_2;
	ge_GuiButton* button_3;
	ge_GuiButton* button_4;
	ge_GuiListWidget* listWidget;
	ge_GuiButton* button_5;
	ge_GuiButton* button_6;
	ge_GuiListWidget* listWidget_1;
	ge_GuiCheckBox* checkBox;
} GeUI_mainWindow_t;

GeUI_mainWindow_t* geGuiSetup_mainWindow(){
	GeUI_mainWindow_t* GeUI_mainWindow = (GeUI_mainWindow_t*)geMalloc(sizeof(GeUI_mainWindow_t));

	GeUI_mainWindow->mainWindow = geGuiCreateWindow("", 800, 600, 0);
	GeUI_mainWindow->mainWindow->name = "mainWindow";
	GeUI_mainWindow->mainWindow->enabled = 1;
	GeUI_mainWindow->mainWindow->visible = 1;

	GeUI_mainWindow->progressBar = geGuiCreateProgressBar(350, 18, 0);
	GeUI_mainWindow->progressBar->name = "progressBar";
	GeUI_mainWindow->progressBar->enabled = 1;
	GeUI_mainWindow->progressBar->visible = 1;
	GeUI_mainWindow->progressBar->max = 100;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 10, 60, GeUI_mainWindow->progressBar, 0);
	
	GeUI_mainWindow->button = geGuiCreateButton("", 30, 30);
	GeUI_mainWindow->button->name = "button";
	GeUI_mainWindow->button->enabled = 1;
	GeUI_mainWindow->button->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 10, 90, GeUI_mainWindow->button, 0);

	GeUI_mainWindow->button_1 = geGuiCreateButton("", 30, 30);
	GeUI_mainWindow->button_1->name = "button_1";
	GeUI_mainWindow->button_1->enabled = 1;
	GeUI_mainWindow->button_1->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 50, 90, GeUI_mainWindow->button_1, 0);

	GeUI_mainWindow->button_2 = geGuiCreateButton("", 30, 30);
	GeUI_mainWindow->button_2->name = "button_2";
	GeUI_mainWindow->button_2->enabled = 1;
	GeUI_mainWindow->button_2->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 90, 90, GeUI_mainWindow->button_2, 0);

	GeUI_mainWindow->button_3 = geGuiCreateButton("", 30, 30);
	GeUI_mainWindow->button_3->name = "button_3";
	GeUI_mainWindow->button_3->enabled = 1;
	GeUI_mainWindow->button_3->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 130, 90, GeUI_mainWindow->button_3, 0);

	GeUI_mainWindow->button_4 = geGuiCreateButton("", 30, 30);
	GeUI_mainWindow->button_4->name = "button_4";
	GeUI_mainWindow->button_4->enabled = 1;
	GeUI_mainWindow->button_4->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 170, 90, GeUI_mainWindow->button_4, 0);

	GeUI_mainWindow->listWidget = geGuiCreateListWidget(610, 420);
	GeUI_mainWindow->listWidget->name = "listWidget";
	GeUI_mainWindow->listWidget->enabled = 1;
	GeUI_mainWindow->listWidget->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 180, 140, GeUI_mainWindow->listWidget, 0);
	
	GeUI_mainWindow->button_5 = geGuiCreateButton("Next page >", 110, 20);
	GeUI_mainWindow->button_5->name = "button";
	GeUI_mainWindow->button_5->enabled = 1;
	GeUI_mainWindow->button_5->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 680, 570, GeUI_mainWindow->button_5, 0);

	GeUI_mainWindow->button_6 = geGuiCreateButton("< Prev page", 110, 20);
	GeUI_mainWindow->button_6->name = "button_1";
	GeUI_mainWindow->button_6->enabled = 1;
	GeUI_mainWindow->button_6->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 560, 570, GeUI_mainWindow->button_6, 0);
	
	GeUI_mainWindow->listWidget_1 = geGuiCreateListWidget(160, 420);
	GeUI_mainWindow->listWidget_1->name = "listWidget_1";
	GeUI_mainWindow->listWidget_1->enabled = 1;
	GeUI_mainWindow->listWidget_1->visible = 1;
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 10, 140, GeUI_mainWindow->listWidget_1, 0);
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "AAAA");
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "bc");
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "c");
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "d");
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "e");
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "f");
	geGuiListWidgetAddItem(GeUI_mainWindow->listWidget_1, "g");
	
	GeUI_mainWindow->checkBox = geGuiCreateCheckBox("Random", 100, 40);
	GeUI_mainWindow->checkBox->name = "checkBox";
	GeUI_mainWindow->checkBox->enabled = 1;
	GeUI_mainWindow->checkBox->visible = 1;
	GeUI_mainWindow->checkBox->text = "Random";
	geGuiWidgetLinkObject((ge_GuiWidget*)GeUI_mainWindow->mainWindow, 300, 90, GeUI_mainWindow->checkBox, 0);
	
	return GeUI_mainWindow;
}
